$(function() {
    // 获取窗口的高

    var gao=$(window).height();
    $('.wrap').height(gao);

    // 用ajax跨域向后台提交表单
    $('.btn').click(function(){
        $.ajax({
            url:login,
            type:'post',
            data:{
                password:$('input[name=password]').val(),
                userName:$('input[name=userName]').val()
            },
            dataType:'json',
            success:function(result){
                if( result.resultCode==200 )
                {//获取成功信息之后,将这个用户的信息都本地存储到localStorage里面,,,用这个用户的id当做唯一标识这个用户的东西,,,也把用户id当做这个用户的key存进localStorage中去,,,,方便以后读取;;;
                    var url;
                    var userinfo = result.value.userinfo;
                    var rolelist = result.value.rolelist;
                    var userId = result.value.userinfo.id;//localStorage的key;
                    var username = result.value.userinfo.username;
                    var permissionlist = result.value.permissionlist;
                    var base = new Base64();
                    var data = {//将这个东西序列化之后存进到storage里面;
                        username: username,
                        userinfo:userinfo,
                        h3_permissionlist:'',
                        ul_permissionlist:'',
                        ul_li_permissionlist:''
                    };
                    // console.log(permissionlist);
                    if( permissionlist == undefined )
                    {//这种情况是当账户的一些权限都被禁用的时候...用来提示用户....
                        // alert(1)
                    }
                    else
                    {

                    }
                    var token  = result.value.token;
                    //将后台返回的数据,,,按照数据当中的sort进行排序...........排完顺序之后向后台存储;
                    var empty = [];//一维数组,,,用来存放h3中的数据,,,一级菜单
                    var brr = [];//二维数组,,,用来存放ul下,,li当中的数据,,,二级菜单
                    var third_crr = [];//三维数组,,用来存放li下的ul中的数据,,,,三级菜单

                    // 取一级菜单中的数据
                    function getFirst()
                    {
                        for(var i = 0;i < permissionlist.length;i++)
                        {
                            if( permissionlist[i].pid == 0 )
                            {
                                empty.push(permissionlist[i]);
                            };
                        };
                        empty = empty.sort( sortNum('sort') );//按照sort从大到小进行排列顺序
                        return empty;
                    };
                    getFirst();
                    // data.h3_permissionlist = base.encode( JSON.stringify(empty));//对数据进行加密
                    data.h3_permissionlist = empty;

                    // 取二级菜单中的数据
                    function getSecond()
                    {
                        for(var m=0;m<empty.length;m++)
                        {
                            brr[m]=new Array();
                            for(var n = 0;n<permissionlist.length;n++)
                            {
                                if(empty[m].id == permissionlist[n].pid)
                                {
                                    brr[m].push(permissionlist[n]);
                                };
                            };
                            brr[m] = brr[m].sort( sortNum('sort') );//按照sort从大到小进行排列顺序
                        };
                        return brr;
                    };
                    getSecond();
                    // data.ul_permissionlist = base.encode( JSON.stringify(brr) );//对数据进行加密
                    data.ul_permissionlist = brr

                    // 取三级菜单中的数据
                    function getThird()
                    {
                        for( var x = 0;x<brr.length;x++  )
                        {
                            third_crr[x] = new Array();
                            for(var y = 0;y<brr[x].length;y++)
                            {
                                third_crr[x][y] = new Array();
                                for(var z = 0;z<permissionlist.length;z++)
                                {
                                    if( permissionlist[z].pid == brr[x][y].id )
                                    {
                                        third_crr[x][y].push( permissionlist[z] );
                                    }
                                };
                                third_crr[x][y] = third_crr[x][y].sort( sortNum('sort') );//按照sort从大到小进行排列顺序
                            };
                        };
                        return third_crr;
                    };
                    getThird();
                    // data.ul_li_permissionlist = base.encode( JSON.stringify(third_crr) );//对数据进行加密
                    data.ul_li_permissionlist = third_crr;

                    // 获取默认跳转的url
                    function getUrl()
                    {
                        for( var x=0;x<brr.length;x++ )
                        {
                            for(var y=0;y<brr[x].length;y++)
                            {
                                if(brr[x][y].url != '#')
                                {
                                    url = brr[x][y].url + '?id=' + brr[x][y].id;
                                    break;
                                };
                            };
                            break;
                        };
                        return url;
                    };
                    getUrl();

                    // console.log( JSON.stringify(result) )
                    // console.log(JSON.stringify(result));
                    //将多个页面共享的信息经过处理后都存储到本地;;;;以后用的时候使用getItem在向外取;将这个用户的一些权限都
                    localStorage.setItem('陈',base.encode( JSON.stringify( userId ) ) );
                    localStorage.setItem( base.encode( JSON.stringify(userId) ),base.encode( JSON.stringify(data) ) );
                    localStorage.setItem( base.encode( 'rolelist' ),base.encode( JSON.stringify(rolelist) ) );//存储roleList
                    localStorage.setItem( base.encode( 'userinfo' ),base.encode( JSON.stringify(userinfo) ) );//存储userinfo
                    localStorage.setItem( 'token', token );
                    //用于线上跳转,跳转到默认页面;
                    // window.location.href = domainurl +'/'+ url ;
                    //进行本地跳转    用于测试
                    window.location.href = myUrl +'/'+ url;
                }
                else if( result.success === false )
                {
                    alert('登录失败,用户名或密码错误!');
                    $('input[name=password]').val('');
                    $('input[name=userName]').val('');
                };
                console.log('登录接口请求成功!!!');
            },
            error:function(){
                console.log('登录接口未调通!!!')
            }
        });
    });

    //这个地方是用到了对象排序;给数组套json的数据,进行按照json里面的某一项进行排序;;;;;;
    function sortNum(attr)
    {
        return function ( a,b ){
            var valueA = a[attr];
            var valueB = b[attr];
            return valueA - valueB;
        };
    };



});

